﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ImageLibCS
{
    public abstract class DrawItemBase:IDrawItem
    {

        protected bool m_IsVisible = true;                    //是否可見
        protected bool m_IsControlPointVisible = false;       //控制點是否可見
        protected System.Windows.Forms.Cursor m_Cursor = System.Windows.Forms.Cursors.Default;

        protected System.Drawing.Pen m_ColorPen = new System.Drawing.Pen(System.Drawing.Color.Blue,2);            //主體顏色
        protected System.Drawing.Pen m_ControlPointColorPen = new System.Drawing.Pen(System.Drawing.Color.Red,1); //控制點顏色

        #region IDrawItem Members

        public virtual bool IsContains(System.Drawing.Point location)
        {
            throw new NotImplementedException();
        }

        public virtual bool IsContains(int x, int y)
        {
            throw new NotImplementedException();
        }

        public virtual bool IsCtlContains(System.Drawing.Point location)
        {
            throw new NotImplementedException();
        }

        public virtual bool IsCtlContains(int x, int y)
        {
            throw new NotImplementedException();
        }

        public virtual bool SetCurrentCtl(System.Drawing.Point location)
        {
            throw new NotImplementedException();
        }

        public virtual void SetCtlOffset(int x, int y)
        {
            throw new NotImplementedException();
        }

        public virtual void Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            throw new NotImplementedException();
        }

        public bool IsVisible
        {
            get { return m_IsVisible; }
            set { m_IsVisible = value; }
        }


        public bool IsControlPointVisible
        {
            set { m_IsControlPointVisible = value; }
            get { return m_IsControlPointVisible; }
        }

        public System.Windows.Forms.Cursor Cursor
        {
            get { return m_Cursor; }
            set { m_Cursor = value; }
        }

        public virtual System.Drawing.Point Location
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public virtual int Top
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public virtual int Left
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public virtual System.Drawing.Size Size
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public virtual int Height
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public virtual int Width
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }


        public System.Drawing.Color Color
        {
            get { return m_ColorPen.Color; }
            set { m_ColorPen.Color = value; }
        }

        public System.Drawing.Color ControlPointColor
        {
            get { return m_ControlPointColorPen.Color; }
            set { m_ControlPointColorPen.Color = value; }
        }

        #endregion


    }
}
